// 封装倒计时逻辑函数
import { ref, computed, onMounted } from 'vue'
import dayjs from 'dayjs'
export const useCountDown = () =>{
  // 1. 响应式的数据
  let timer = null
  const time = ref(0)
  // 格式化时间为 xx分xx秒
  const formatTime = computed(()=>dayjs.unix(time.value).format('mm分ss秒'))
  // 2. 开启倒计时函数
  const start = (currentTime) =>{
    // 开启倒计时的逻辑
    // 核心逻辑的编写: 每隔1秒就减一
    time.value = currentTime
    timer = setInterval(()=>{
      time.value--
    }, 1000)
  }
  // 组件销毁时候清除定时器
  onMounted(()=>{
    timer && clearInterval(timer)
  })
  return {
    formatTime,
    start
  }
}